package com.project.easy.common.framework.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.project.easy.common.framework.web.entity.FrameworkDic;
import com.project.easy.common.framework.web.entity.dto.DicAddReq;
import com.project.easy.common.framework.web.entity.dto.DicTreeNodeRes;
import com.project.easy.common.framework.web.entity.dto.DicUpdateReq;
import com.project.easy.common.framework.web.entity.dto.DicVerifyCodeReq;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @author GreatorMan.cool
 * @since 2022-07-20
 */
public interface IFrameworkDicService extends IService<FrameworkDic> {
    /**
     * 格局父KEY 查询字典信息
     * @param code 上级CODE
     * @return 返回字典数据
     */
    public  List<Map<String, String>> queryByParentKey(String code);
    /**
     * 新增字典
     * @param param 参数
     * @return 反回ID
     */
    public  Long add(DicAddReq param);
    /**
     * 迁移数据
     * @param param 修改参数
     * @return true 成功 false 失败
     */
    public  Boolean updateObject(DicUpdateReq param);
    /**
     * 验证编码是否重复
     * @param param 参数
     * @return true 存在false  不存在
     */
    public Boolean verifyCode(DicVerifyCodeReq param);
    /**
     * 字典管理
     * @param parent  父级ID
     * @return 返回字典树
     */
    public List<DicTreeNodeRes> tree(Long parent);
    /**
     * 启用
     * @param id ID
     * @return true 启用成功 false 启用失败
     */
    public Boolean able(Long id);

    /**
     * 启用
     * @param id ID
     * @return true 启用成功 false 启用失败
     */
    public Boolean disAble(Long id);

}
